package com.erp.gather.service;

import com.erp.gather.domain.bo.ErpSellerStoreProductInfringingKeywordsBo;
import com.erp.gather.domain.vo.ErpSellerStoreProductInfringingKeywordsVo;
import com.ruoyi.common.core.web.oldPage.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.domain.R;


import javax.servlet.http.HttpServletResponse;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 商品侵权词Service接口
 *
 * @author erp
 * @date 2023-12-06
 */
public interface IErpSellerStoreProductInfringingKeywordsService {

    /**
     * 查询商品侵权词
     */
    ErpSellerStoreProductInfringingKeywordsVo queryById(Long id);

    /**
     * 查询商品侵权词列表
     */
    TableDataInfo<ErpSellerStoreProductInfringingKeywordsVo> queryPageList(ErpSellerStoreProductInfringingKeywordsBo bo, PageQuery pageQuery);

    /**
     * 查询商品侵权词列表
     */
    List<ErpSellerStoreProductInfringingKeywordsVo> queryList(ErpSellerStoreProductInfringingKeywordsBo bo);

    /**
     * 新增商品侵权词
     */
    Boolean insertByBo(ErpSellerStoreProductInfringingKeywordsBo bo);

    /**
     * 修改商品侵权词
     */
    Boolean updateByBo(ErpSellerStoreProductInfringingKeywordsBo bo);

    /**
     * 校验并批量删除商品侵权词信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);

    R<Object> keyWordsDetection(Integer type, Long id);

    Map<String, Object> getKeyWordsNowMap();

    R<Object> setKeyWordsStatus(Long keyWordsId, Integer type);

    void collectProductKeyWordsDetection(HttpServletResponse response,Integer type,Long userId);

    List<String> selectKeywordText();

    Date selectLastUpdateTime();

    R<Object> addTimes(Long id);
}
